using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
//
using Curriculum.Business.LectorDatos;
using Curriculum.UI.Clases.ManejadorControles;
using Curriculum.UI.Enum;
using Curriculum.UI.Helper;
using Curriculum.Business.Manejadores;
using Curriculum.Business.ClasesPersistentes;
using Curriculum.Business.Clases;
using System.IO;
using System.Configuration;
using LectorDatos = Curriculum.Business.LectorDatos;
using Presentacion = Curriculum.Business.ClasesPersistentes.Presentacion;

namespace Curriculum.UI
{
	/// <summary>
	/// Summary description for frmPresentaciones.
	/// </summary>
	public class frmPresentaciones : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Panel pnlControles;
		private System.Windows.Forms.GroupBox groupBox2;
		private System.Windows.Forms.Button btnCancelar;
		private System.Windows.Forms.Button btnAceptar;
		private System.Windows.Forms.Button btnVistaPrevia;
		// contiene la accion que se quiere realizar ALTA,BAJA,MOD.
		private TipoPresentacion _ePresentacion;
		private MasterData masterData=MasterData.GetInstancia();
		private VersionCurriculo versionCV;		
		// referencia al formulario padre
		private Form m_InstanceRef = null;
		private int locX=10;
		private int locY=16;
		private string charSeparator = "a";
		private string _idPresentacion = string.Empty;
		private IList PresentacionesAntecedentes;
		private IList PresentacionesAntecedentesPersistentes;


		/// <summary>
		/// Required designer variable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public frmPresentaciones(TipoPresentacion ePresentacion)
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();
			this._ePresentacion = ePresentacion;

			//
			// TODO: Add any constructor code after InitializeComponent call
			//
		}

		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region - Funciones Varias -
		
		private string ObtenerNombreAntecedente(string idAntecedente)
		{
			ManejadorAntecedentes mAntecedentes = ManejadorAntecedentes.GetInstancia();
			return mAntecedentes.GetNombreAntecedente(idAntecedente);
		}
		/// <summary>
		/// Devuelve el nombre del tipo de antecedente hoja
		/// </summary>
		/// <param name="aPersistente">de la raiz</param>
		/// <returns>nombre de antecedente de la hoja</returns>
		private string ObtenerNombreAntecedenteHoja(AntecedentePersistente aPersistente)
		{
			ManejadorAntecedentesPersistentes mAntecedentesPersistentes = new ManejadorAntecedentesPersistentes();
			string idAntecedenteHoja =(mAntecedentesPersistentes.GetAntecedentePersistenteHoja(aPersistente)).IdAntecedente;
			return ObtenerNombreAntecedente(idAntecedenteHoja);
		}

		private void InhabilitarBotones()
		{
			btnAceptar.Enabled = false;
			foreach (Control control in pnlControles.Controls)
			{
				if (control.GetType() == typeof(System.Windows.Forms.CheckBox))
				{	
					control.Enabled = false;
				}
			}
		}

		#endregion - Funciones Varias -

		#region - Contruccion de Form -

		private void CargarNombreDocente()
		{
			locY+=10;
			Label lbl = new Label();
			lbl.Text = versionCV.Docente.Nombre;
			lbl.Font = new Font("Microsoft Sans Serif",20,FontStyle.Bold);
			lbl.Height = 25;
			lbl.Width = 400;
			lbl.TextAlign = ContentAlignment.MiddleRight;
			lbl.Location = new Point(locX,locY);											
			locY+=lbl.Height + 10;
			pnlControles.Controls.Add(lbl);
		}
		private void CargarDocenteAForm()
		{
			locY+=10;
			Label lbl = new Label();	
			lbl.Text = "CUIL :" + versionCV.Docente.Cuil + "\n \n";
			lbl.Text += "Domicilio :" + versionCV.Docente.Domicilio + "\n \n";
			lbl.Text += "Fecha de Nacimiento :" + versionCV.Docente.FechaNacimiento + "\n \n";
			lbl.Text += "Mail :" + versionCV.Docente.Mail + "\n \n";
			lbl.Text += "Telefono :" + versionCV.Docente.Telefono + "\n \n";
			lbl.Text += "Observaciones :" + versionCV.Docente.Observaciones + "\n \n";
			lbl.Width = 400;
			lbl.Height = 150;
			lbl.TextAlign = ContentAlignment.MiddleLeft;
			lbl.Location = new Point(locX,locY);											
			locY+=lbl.Height + 10;
			pnlControles.Controls.Add(lbl);			
		}
		
		private void CargarNombreAntecedentePersistente(AntecedentePersistente antPersistente)
		{
			
			locY+=10;
			Label lbl = new Label();
			//lbl.Text = "Antecedente " + antPersistente.IdAntecedentePersistente;
			lbl.Text = ObtenerNombreAntecedenteHoja(antPersistente);
			lbl.Font = new Font("Microsoft Sans Serif",10,FontStyle.Bold);
			lbl.Height = 20;
			lbl.Width = lbl.Text.Length * 10;
			lbl.TextAlign = ContentAlignment.MiddleLeft;
			lbl.Location = new Point(locX,locY);											
			CheckBox chk = new CheckBox();
			chk.Checked = true;
			chk.Name = antPersistente.IdAntecedente + charSeparator + antPersistente.IdAntecedentePersistente;
			chk.Location = new Point(locX + lbl.Width + 20,locY);											
			locY+=lbl.Height + 10;
			pnlControles.Controls.Add(lbl);			
			pnlControles.Controls.Add(chk);
		}
		private void AgregarNombreAntecedente(string idAntecedenteRaiz, string idAntecedenteHoja)
		{
			
			locY+=10;
			Label lbl = new Label();
			lbl.Text = "Antecedente " + idAntecedenteRaiz + charSeparator + idAntecedenteHoja;
			lbl.Font = new Font("Microsoft Sans Serif",12,FontStyle.Bold);
			lbl.Height = 20;
			lbl.Width = lbl.Text.Length * 10;
			lbl.TextAlign = ContentAlignment.MiddleLeft;
			lbl.Location = new Point(locX,locY);											
			CheckBox chk = new CheckBox();
			chk.Checked= true;
			chk.Name = idAntecedenteRaiz + idAntecedenteHoja;
			chk.Location = new Point(locX + lbl.Width + 20,locY);											
			locY+=lbl.Height + 10;
			pnlControles.Controls.Add(lbl);			
			pnlControles.Controls.Add(chk);
		}
		private void AgregarNombreAntecedenteClase(string idAntecedenteRaiz)
		{
			
			locY+=10;
			Label lbl = new Label();
			lbl.Text = "Antecedente " + ObtenerNombreAntecedente(idAntecedenteRaiz);
			lbl.Font = new Font("Microsoft Sans Serif",12,FontStyle.Bold);
			lbl.Height = 20;
			lbl.Width = lbl.Text.Length * 10;
			lbl.TextAlign = ContentAlignment.MiddleLeft;
			lbl.Location = new Point(locX,locY);											
			CheckBox chk = new CheckBox();
			chk.Checked = true;
			chk.Name = idAntecedenteRaiz;
			chk.Location = new Point(locX + lbl.Width + 20,locY);											
			locY+=lbl.Height + 10;
			pnlControles.Controls.Add(lbl);			
			pnlControles.Controls.Add(chk);
		}

		private void CargarAntecedenteAControles(AntecedentePersistente aPersistente)
		{
			if(aPersistente.AtributosPersistentes!=null)
			{
				AtributosPersistentes atrPersistentes = aPersistente.AtributosPersistentes;
				foreach(AtributoPersistente atrPersistente in  atrPersistentes)
				{
					Label lbl = new Label();
					string NombreAtributo = masterData.GetAtributo(atrPersistente.IdAtributo).nombre;
					lbl.Text = NombreAtributo + " : " + atrPersistente.Valor;
					lbl.Height = 20;
					lbl.Width = lbl.Text.Length * 8;
					lbl.TextAlign = ContentAlignment.MiddleLeft;
					lbl.Location = new Point(locX ,locY);
					locY += lbl.Height + 5;
					pnlControles.Controls.Add(lbl);
				}
			}
			if(aPersistente.AntecedentesPersistentes!=null)
			{
				foreach(AntecedentePersistente objAPersistente in aPersistente.AntecedentesPersistentes)
				{
					CargarAntecedenteAControles(objAPersistente);					
				}					
			}
		}
				
		private void EscribirVersionEnFormulario()
		{
			CargarNombreDocente();
			CargarDocenteAForm();
			string idAntecedente="";
			versionCV.Ordenar();
			foreach(AntecedentePersistente antPersistente in versionCV.AntecedentesPersistentes)
			{
				if(idAntecedente != antPersistente.IdAntecedente)
				{					
					idAntecedente = antPersistente.IdAntecedente;
					// Agrego el Nombre de la clase del antecedente
					AgregarNombreAntecedenteClase(idAntecedente);
				}
				// escribo el nombre del Antecedente Persistente
				CargarNombreAntecedentePersistente(antPersistente);
				// escribo todos los datos de ese antecedente persistente
				CargarAntecedenteAControles(antPersistente);
			}							
		}

		#endregion - Contruccion de Form -

		#region - Construir HTML -
		
		private void EscribirNombreDocenteHTML(StreamWriter writer)
		{
			EscribirComienzoFila(writer);
			writer.WriteLine("<td colspan=2 align=center>");			
			writer.Write("<h1>");			
			writer.Write(versionCV.Docente.Nombre);
			writer.Write("</h1>");
			writer.WriteLine("</td>");	
			EscribirFinFila(writer);						
			EscribirFilaVaciaHTML(writer);
		}
		private void EscribirDocenteHTML(StreamWriter writer)
		{
			EscribirNombreDocenteHTML(writer);
			EscribirFilaVaciaHTML(writer);
			EscribirAtributoHTML("CUIL:",versionCV.Docente.Cuil,writer);
			EscribirAtributoHTML("Domicilio:",versionCV.Docente.Domicilio,writer);
			EscribirAtributoHTML("Fecha de Nacimiento:",versionCV.Docente.Cuil,writer);
			EscribirAtributoHTML("Mail:",versionCV.Docente.Mail,writer);
			EscribirAtributoHTML("Telefono:",versionCV.Docente.Telefono,writer);
			EscribirAtributoHTML("Observaciones:",versionCV.Docente.Observaciones,writer);
			EscribirFilaVaciaHTML(writer);
			EscribirFilaVaciaHTML(writer);
			EscribirFilaVaciaHTML(writer);
		}
		
		private void EscribirNombreAntecedentePersistenteEnHTML(AntecedentePersistente antPersistente, StreamWriter writer)
		{			
			writer.WriteLine("<td colspan=2>");			
			writer.Write("<h3>");			
			writer.Write(ObtenerNombreAntecedenteHoja(antPersistente));
			writer.Write("</h3>");
			writer.WriteLine("</td>");				
		}
		private void EscribirNombreAntecedenteClaseEnHTML(string idAntecedenteRaiz, StreamWriter writer)
		{
			EscribirComienzoFila(writer);
			writer.WriteLine("<td colspan=2>");
			writer.Write("<h2>");
			writer.Write("Antecedente " + ObtenerNombreAntecedente(idAntecedenteRaiz));
			writer.Write("</h2>");
			writer.WriteLine("</td>");	
			EscribirFinFila(writer);
		}

		private void EscribirAntecedenteEnHTML(AntecedentePersistente aPersistente, StreamWriter writer)
		{
			if(aPersistente.AtributosPersistentes!=null)
			{
				AtributosPersistentes atrPersistentes = aPersistente.AtributosPersistentes;
				foreach(AtributoPersistente atrPersistente in  atrPersistentes)
				{
					string NombreAtributo = masterData.GetAtributo(atrPersistente.IdAtributo).nombre;
					EscribirAtributoHTML(NombreAtributo,atrPersistente.Valor,writer);
				}
			}
			if(aPersistente.AntecedentesPersistentes!=null)
			{
				foreach(AntecedentePersistente objAPersistente in aPersistente.AntecedentesPersistentes)
				{
					EscribirAntecedenteEnHTML(objAPersistente,writer);
				}					
			}
		}

		private void EscribirComienzoTABLE(StreamWriter writer)
		{
			writer.WriteLine("<table width=100%>");			
		}
		private void EscribirFinTABLE(StreamWriter writer)
		{
			writer.WriteLine("</table>");			
		}
		private void EscribirComienzoFila(StreamWriter writer)
		{
			writer.WriteLine("<tr>");			
		}
		private void EscribirFinFila(StreamWriter writer)
		{
			writer.WriteLine("</tr>");			
		}
		private void EscribirComienzoColumna(StreamWriter writer)
		{
			writer.WriteLine("<td>");			
		}
		private void EscribirFinColuma(StreamWriter writer)
		{
			writer.WriteLine("</td>");			
		}
		private void EscribirComienzoHTML(StreamWriter writer)
		{
			writer.WriteLine("<html>");			
			writer.WriteLine("<head>");			
			writer.WriteLine("</head>");			
			writer.WriteLine("<body>");			
		}
		private void EscribirFinHTML(StreamWriter writer)
		{
			writer.WriteLine("</body>");			
			writer.WriteLine("</html>");			
		}
		private void EscribirLineaEnHTML(StreamWriter writer)
		{
			writer.WriteLine("<hr>");
		}				
		private void EscribirFilaVaciaHTML(StreamWriter writer)
		{
			writer.WriteLine("<tr><td colspan=2>&nbsp;</td></tr>");
		}				

		private void EscribirAtributoHTML(string name,string value,StreamWriter writer)
		{
			EscribirComienzoFila(writer);
			writer.WriteLine("<td nowrap width=20% align=left >");
			writer.WriteLine(name + ": ");
			EscribirFinColuma(writer);
			writer.WriteLine("<td nowrap width=80% align=left >");
			writer.WriteLine(value);
			EscribirFinColuma(writer);
			EscribirFinFila(writer);
		}				
		
		private void ConstruirHTML()
		{	
			string fileName = ConfigurationSettings.AppSettings["pathCurriculumHTML"].ToString();
			FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write);
			StreamWriter writer = new StreamWriter(stream);
			EscribirComienzoHTML(writer);
			EscribirComienzoTABLE(writer);
			//
			EscribirDocenteHTML(writer);
			string idAntecedenteAux = String.Empty;
			AntecedentesPersistentes antecedentesPersistentes = versionCV.AntecedentesPersistentes;					
			LectorDatos.IdAntecedente idAntecedente = new LectorDatos.IdAntecedente();
			LectorDatos.IdAntecedentePersistente idAntecedentePersistente = new LectorDatos.IdAntecedentePersistente();
			foreach(AntecedentePersistente antPersistente in antecedentesPersistentes)
			{
				idAntecedente.Value = antPersistente.IdAntecedente;
				if(!PresentacionesAntecedentes.Contains(idAntecedente))
				{
					idAntecedentePersistente.Value = antPersistente.IdAntecedentePersistente;
					if(!PresentacionesAntecedentesPersistentes.Contains(idAntecedentePersistente))
					{
						if(idAntecedenteAux!=antPersistente.IdAntecedente)
						{
							EscribirNombreAntecedenteClaseEnHTML(antPersistente.IdAntecedente,writer);
							EscribirFilaVaciaHTML(writer);
							idAntecedenteAux = antPersistente.IdAntecedente;
						}
						EscribirNombreAntecedentePersistenteEnHTML(antPersistente,writer);
						EscribirAntecedenteEnHTML(antPersistente,writer);
						EscribirFilaVaciaHTML(writer);
						//EscribirLineaEnHTML(writer);
					}
				}
			}	
			EscribirFinFila(writer);
			EscribirFinTABLE(writer);
			EscribirFinHTML(writer);
			writer.Close();
		}
		
		
		private void AbrirHTML()
		{
			string fileName = ConfigurationSettings.AppSettings["pathCurriculumHTML"].ToString();
			System.Diagnostics.Process.Start(fileName);			
		}

		#endregion - Construir HTML -

		#region - Lista Presentaciones -
		
		private void CargarListaPresentaciones()
		{
			bool bAntecedente =false;
			PresentacionesAntecedentes = new ArrayList();
			PresentacionesAntecedentesPersistentes = new ArrayList();
			string idAntecedente="";
			CheckBox chk = null;
			foreach(AntecedentePersistente antPersistente in versionCV.AntecedentesPersistentes)
			{
				if(idAntecedente != antPersistente.IdAntecedente)
				{					
					bAntecedente=false;
					idAntecedente = antPersistente.IdAntecedente;
					chk = (CheckBox) Helper.FormHelper.FindControl(idAntecedente,this);
					if(!chk.Checked)
					{
						bAntecedente=true;
						LectorDatos.IdAntecedente idAnt = new LectorDatos.IdAntecedente();
						idAnt.Value = idAntecedente;
						PresentacionesAntecedentes.Add(idAnt);							
					}										
				}
				if(!bAntecedente)
				{
					string ctrlName = antPersistente.IdAntecedente + charSeparator + antPersistente.IdAntecedentePersistente;
					chk = (CheckBox) Helper.FormHelper.FindControl(ctrlName,this);
					if(!chk.Checked)
					{
						LectorDatos.IdAntecedentePersistente idAntPer = new LectorDatos.IdAntecedentePersistente();
						idAntPer.Value = antPersistente.IdAntecedentePersistente;
						PresentacionesAntecedentesPersistentes.Add(idAntPer);							
					}																
				}
			}		
//			if(PresentacionesAntecedentes.Count==0)
//				PresentacionesAntecedentes =null;
//			if(PresentacionesAntecedentesPersistentes.Count==0)
//				PresentacionesAntecedentesPersistentes =null;
		}

		private void Destildar()
		{
			CheckBox chk = null;
			
			foreach(object idAntecedente in PresentacionesAntecedentes)
			{
				chk = (CheckBox) Helper.FormHelper.FindControl(idAntecedente.ToString(),this);
				if(chk!=null)
					chk.Checked = false;
				chk = null;
			}
			foreach(object idAntecedentePersistente in PresentacionesAntecedentesPersistentes)
			{
				AntecedentePersistente aPersistente = versionCV.GetAntecedentePersistente(idAntecedentePersistente.ToString());
				chk = (CheckBox) Helper.FormHelper.FindControl(aPersistente.IdAntecedente + charSeparator + idAntecedentePersistente,this);
				if(chk!=null)
					chk.Checked = false;
				chk = null;
			}
		}

		#endregion - Lista Presentaciones -

		#region - LLamada a Formulario Presentacion ABM
		
		private void ShowFrmPresentacionesABM(TipoPresentacion ePresentacion)
		{
			frmPresentacionABM frmPresentacionABM = new frmPresentacionABM(ePresentacion);
			frmPresentacionABM.InstanceRef = this;
			frmPresentacionABM.VersionCV = versionCV;
			frmPresentacionABM.IdPresentacion = _idPresentacion;
			frmPresentacionABM.PresentacionesAntecedentes = PresentacionesAntecedentes;
			frmPresentacionABM.PresentacionesAntecedentesPersistentes = PresentacionesAntecedentesPersistentes;
			frmPresentacionABM.ShowDialog();					
		}

		private void Aceptar()
		{
			CargarListaPresentaciones();
			ShowFrmPresentacionesABM(_ePresentacion);
		}

		/// <summary>
		/// La utiliza el frmPresentacionABM para provocar el cierre
		/// de este form
		/// </summary>
		public void CloseFrm()
		{
				
		}

		#endregion - LLamada a Formulario Presentacion ABM

		#region - Properties -

		public Form InstanceRef
		{
			get { return m_InstanceRef; }
			set { m_InstanceRef = value; }
		}

		public TipoPresentacion ePresentacion
		{
			get { return _ePresentacion; }
			set { _ePresentacion = value; }
		}

		public VersionCurriculo VersionCV
		{
			get { return versionCV; }
			set { versionCV = value; }
		}

		public string IdPresentacion
		{
			get { return _idPresentacion; }
			set { _idPresentacion = value; }
		}

		#endregion - Properties -

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmPresentaciones));
			this.pnlControles = new System.Windows.Forms.Panel();
			this.groupBox2 = new System.Windows.Forms.GroupBox();
			this.btnVistaPrevia = new System.Windows.Forms.Button();
			this.btnCancelar = new System.Windows.Forms.Button();
			this.btnAceptar = new System.Windows.Forms.Button();
			this.groupBox2.SuspendLayout();
			this.SuspendLayout();
			// 
			// pnlControles
			// 
			this.pnlControles.AutoScroll = true;
			this.pnlControles.Location = new System.Drawing.Point(4, 0);
			this.pnlControles.Name = "pnlControles";
			this.pnlControles.Size = new System.Drawing.Size(632, 328);
			this.pnlControles.TabIndex = 7;
			// 
			// groupBox2
			// 
			this.groupBox2.Controls.Add(this.btnVistaPrevia);
			this.groupBox2.Controls.Add(this.btnCancelar);
			this.groupBox2.Controls.Add(this.btnAceptar);
			this.groupBox2.Location = new System.Drawing.Point(1, 331);
			this.groupBox2.Name = "groupBox2";
			this.groupBox2.Size = new System.Drawing.Size(640, 56);
			this.groupBox2.TabIndex = 6;
			this.groupBox2.TabStop = false;
			// 
			// btnVistaPrevia
			// 
			this.btnVistaPrevia.Location = new System.Drawing.Point(264, 21);
			this.btnVistaPrevia.Name = "btnVistaPrevia";
			this.btnVistaPrevia.Size = new System.Drawing.Size(75, 24);
			this.btnVistaPrevia.TabIndex = 2;
			this.btnVistaPrevia.Text = "Vista Previa";
			this.btnVistaPrevia.Click += new System.EventHandler(this.btnVistaPrevia_Click);
			// 
			// btnCancelar
			// 
			this.btnCancelar.Location = new System.Drawing.Point(552, 21);
			this.btnCancelar.Name = "btnCancelar";
			this.btnCancelar.Size = new System.Drawing.Size(72, 23);
			this.btnCancelar.TabIndex = 1;
			this.btnCancelar.Text = "&Cancelar";
			this.btnCancelar.Click += new System.EventHandler(this.btnCancelar_Click);
			// 
			// btnAceptar
			// 
			this.btnAceptar.Location = new System.Drawing.Point(16, 20);
			this.btnAceptar.Name = "btnAceptar";
			this.btnAceptar.Size = new System.Drawing.Size(75, 24);
			this.btnAceptar.TabIndex = 0;
			this.btnAceptar.Text = "&Aceptar";
			this.btnAceptar.Click += new System.EventHandler(this.btnAceptar_Click);
			// 
			// frmPresentaciones
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(640, 389);
			this.Controls.Add(this.pnlControles);
			this.Controls.Add(this.groupBox2);
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
			this.MaximizeBox = false;
			this.Name = "frmPresentaciones";
			this.ShowInTaskbar = false;
			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
			this.Text = "Presentacion";
			this.Load += new System.EventHandler(this.frmPresentaciones_Load);
			this.Closed += new System.EventHandler(this.frmPresentaciones_Closed);
			this.groupBox2.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion

		private void btnCancelar_Click(object sender, System.EventArgs e)
		{
			this.Close();
		}

		private void frmPresentaciones_Load(object sender, System.EventArgs e)
		{
			EscribirVersionEnFormulario();
			if(_ePresentacion == TipoPresentacion.VER)
			{
				Presentacion presentacion = versionCV.Presentaciones.GetPresentacion(_idPresentacion);
				PresentacionesAntecedentes = presentacion.Antecedentes;
				PresentacionesAntecedentesPersistentes = presentacion.AntecedentesPersistentes;				
				// destildo los checkbox a partir de los
				// filtros de la presentacion
				Destildar();
				// Inhabilito el boton aceptar para que no
				// pueda modificar la presentacion
				InhabilitarBotones();
			}
		}

		private void btnVistaPrevia_Click(object sender, System.EventArgs e)
		{
			CargarListaPresentaciones();
			ConstruirHTML();
			AbrirHTML();
		}

		private void btnAceptar_Click(object sender, System.EventArgs e)
		{			
			Aceptar();	
		}

		private void frmPresentaciones_Closed(object sender, System.EventArgs e)
		{
			((Curriculum)InstanceRef).RefrescarPresentaciones();
		}
	}
}
